import java.util.HashMap;

public class Test {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();

        //树化: 当哈希桶中的结点到达一定数时就将其中结点变成红黑树
        // 树化条件:  桶的链表长度超过8并且总节点数返回64
    }
    public static void main2(String[] args) {
        char[] ch = new char[]{'a', 'b', 'c'};
        String s1 = new String(ch);
        s1.intern();//让s1所指的对象入池, 如果常量池当中存在, 那么就不入池
        String s2 = "abc";
        System.out.println(s1 == s2);
    }
    public static void main1(String[] args) {
        //只要是双引号引起来, 都会存放在常量池中
        String s1 = "hello";
        //先去常量池中, 找是否有当前这个字符串
        //常量池存在hello就不在常量池中放了
        //s2 直接从常量池中拿到存放“hello”的结点的地址
        String s2 = "hello";
        //其中字符串数组value的地址等于hello的地址
        String s3 = new String("hello");
        String s4 = new String("hello");
        System.out.println(s1 == s2); // true
        System.out.println(s1 == s3); // false
        System.out.println(s3 == s4); // false
    }
}
